<html>
    <head>
        <title>Abp框架特殊基类中的本地化服务属性</title>
    </head>
    <body>
        <script>
             /*
                    十、特殊基类

                            一些ABP基类提供名为 "L" 的属性，以轻松地使用本地化服务。
                            
                            例如： 在应用程序服务类中，你可以这样使用本地化文本：
                                
                              using System.Threading.Tasks;
                              using MyProject.Localization;
                              using Volo.Abp.Application.Services;

                              namespace MyProject
                              {
                                  public class TestAppService : ApplicationService
                                  {
                                      public TestAppService()
                                      {
                                          LocalizationResource = typeof(MyProjectResource);  // 设置本地化资源类型，以便可以使用 "L" 属性。
                                      }

                                      public async Task DoIt()
                                      {
                                          var str = L["HelloWorld"]; // 直接使用 "L" 属性获取本地化文本。
                                      }
                                  }
                              }

                            当你在构造函数中设置 LocalizationResource 时，ApplicationService类在你使用L属性时使用该资源类型，就像在 DoIt() 方法中一样。

                            在每个应用程序服务类中设置 LocalizationResource 可能会很乏味繁琐。
                            你可以创建一个抽象的基本应用程序服务类，将其设置在那里并从该基类派生你的应用程序服务。

                            当你使用启动模板创建一个解决方案时，这已经实现了。
                            因此，你可以直接简单地使用 "L" 属性。


                            using System.Threading.Tasks;

                            namespace MyProject
                            {
                                public class TestAppService : MyProjectAppService // 此基类已经设置了 LocalizationResource 属性，继承后可直接使用 "L" 属性。


                                {
                                    public async Task DoIt()
                                    {
                                        var str = L["HelloWorld"];
                                    }
                                }
                            }

                            
                            L属性可可以用于其他一些基类，  例如：  AbpController 和 AbpPageModel
                                                
              */
        </script>
    </body>
</html>